package com.cda.pes.service;

import com.cda.pes.pojo.Product;

import java.util.Date;
import java.util.List;

/** 处理商品数据的业务层接口 */
public interface IProductService {
    /**
     * 查询热销商品的前四名
     * @return 热销商品前四名的集合
     */
    List<Product> findHotList();

    /**
     * 根据商品id查询商品详情
     * @param id 商品id
     * @return 匹配的商品详情，如果没有匹配的数据则返回null
     */
    Product findById(Integer id);

    /**
     * 查询最新商品
     * @return  最新的四个商品
     */
    List<Product> findLastedList();

    /**
     * 新增商品
     * @param product   商品内容
     * @return  受影响行数
     */
    Integer addProduct(Product product);

    /**
     * 修改商品
     * @param product   商品详情
     * @return  受影响行数
     */
    void updateProduct(Product product);
//    , Integer categoryId,
//    String itemType, String title, String sellPoint,
//    Long price, Integer num, String image, Integer status,
//    Integer priority, Date modifiedTime,String modifiedUser

    /**
     * 删除商品
     * @param id    商品id
     */
    void deleteProduct(Integer id);

    /**
     * 查询所有商品
     * @return  商品集合
     */
    List<Product> findAll();

    /**
     * 根据类型查找所有商品
     * @return  商品列表
     */
    List<Product> findAllByType(String typename);
}
